TypeScript: 型定義ファイル(.d.ts)
JavaScriptライブラリやAPIの多くは、型を提供していないことがあるため、.d.tsファイルでTypeScriptの型定義を提供する。 型定義ファイルは主にパッケージを配布するために作成されます。TypeScriptはJavaScriptにコンパイルされるときに型情報は無くなってしまいます。そのままJavaScriptパッケージを利用すると型定義の恩恵を得ることができません。しかし型定義ファイルを同梱することにより補完やコードチェックとして利用することができます。
残念なことにnpmに公開されているすべてのパッケージに必ずしも定義ファイルが存在するとは限りません。
tscコマンドに -d オプションをつけてコンパイルを実行すると、型定義ファイルも生成される
tsc -d
注意点
Typescriptで型定義用のファイルを作る際に、ライブラリが生成する型定義ファイルの名前にならって .d.ts と付けると、定義していない型が any として使えてしまい型チェック時にもエラーになりません。
d.ts は Javascript で書かれたコードの型を後付けで知らせるためのものであり、tsのコンパイラにチェックされないためです。
ですので、自作で型定義をまとめた Model 的なファイルは普通に .ts で作りましょう。
自作で型定義をまとめたファイルを .d.ts で作ってしまうと、コンパイラにチェックされなくなる